﻿using System.ComponentModel.DataAnnotations;
using static Commonality.Authority;

namespace Commonality.DTO.AuthorityDTO
{
    public class UserInfoDTO
    {
        /// <summary>
        /// 用户ID
        /// </summary>
        public int UsleID { get; set; }
        /// <summary>
        /// 登录账户
        /// </summary>
        [Required(ErrorMessage = "登录账户非空")]
        public string? Login_Name { get; set; }
        /// <summary>
        /// 用户名称
        /// </summary>
        [Required(ErrorMessage = "登录账户非空")]
        public string? UserName { get; set; }
        /// <summary>
        /// 登录密码
        /// </summary>
        [Required(ErrorMessage = "登录密码非空")]
        public string? Password { get; set; }
        /// <summary>
        /// 真实姓名
        /// </summary>
        [Required(ErrorMessage = "真实姓名非空")]
        public string? RealName { get; set; }
        /// <summary>
        /// 英文名称
        /// </summary>
        [Required(ErrorMessage = "英文名称非空")]
        public string? EnglishName { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public bool? Gender { get; set; }
        /// <summary>
        /// 国际电话
        /// </summary>
        [Required(ErrorMessage = "国际电话非空")]
        public string? Phone { get; set; }
        /// <summary>
        /// 移动电话
        /// </summary>
        [Required(ErrorMessage = "移动电话非空")]
        public string? Mobile { get; set; }
        /// <summary>
        /// 邮箱
        /// </summary>
        [Required(ErrorMessage = "邮箱非空")]
        public string? Email { get; set; }
        /// <summary>
        /// 启用禁用
        /// </summary>
        public bool? Enabled { get; set; }
        /// <summary>
        /// 逻辑删除
        /// </summary>
        public bool? IsDelet { get; set; }
        /// <summary>
        /// 类型
        /// </summary>
        public State? Type { get; set; }
        /// <summary>
        /// 二级联动ID
        /// </summary>
        public int? DropID { get; set; }
        /// <summary>
        /// 名称
        /// </summary>
        public string? DropName { get; set; }
        /// <summary>
        /// 新ID
        /// </summary>
        public int? PID { get; set; }
    }
    public enum State
    {
        未知 = 0,
        /// <summary>
        /// 在线
        /// </summary>
        在线 = 1,
        /// <summary>
        /// 离线
        /// </summary>
        离线 = 2,
        /// <summary>
        /// 隐身
        /// </summary>
        隐身 = 3,
        /// <summary>
        /// 请勿打扰
        /// </summary>
        请勿打扰 = 4,
    }
   
}
